
<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">  
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>  
    <title>demo</title>  

    <style>  
        * {  
            margin: 0;   
            padding: 0;  
        }  
        body, html {  
            width: 100%;  
            height: 100%;
        }  
        .bottom {
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            font-size: 0;
        }
        input {
            font-size: 14px;
            box-sizing: border-box;
            width: 50%;
            height: 50px;
            line-height: 50px;
        }
    </style>  
</head>  
<body>
    <div class="bottom">
        <input id="ainput" type="text" placeholder="ios聚焦后会被输入法遮挡" />
        <input class="bInput" type="text" placeholder="ios聚焦后不会被输入法遮挡" />
    </div>
</body>  
<script>  
// 在移动端 H5 开发中，我们经常会碰到输入框固定在页面底部的布局情况，
// 比如聊天应用，文章评论等。当我们点击输入框输入文字时，系统会弹出虚拟键盘以便输入内容，
// 这个时候会有几种情况出现：

const input = document.querySelector('#ainput');

input.addEventListener('focus', () => {
    // input.scrollIntoView(false);
    setTimeout(() => {
        input.scrollIntoView(false);
    }, 300);
});

input.addEventListener('focus', () => {
    setTimeout(() => {
        document.body.scrollTop = document.body.scrollHeight;
    }, 300);
});


</script>  
</html>